﻿/*
 * Created by SharpDevelop.
 * User: IEscarro
 * Date: 8/25/2009
 * Time: 9:54 AM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */

using System;

namespace Miming.Model
{
	/// <summary>
	/// Description of Item.
	/// </summary>
	public class Item : Observable
	{
		int id;
		string partNumber;
		string purchaseDescription;
		double reorderPoint;
		bool inactive;
		string notes;
		
		public virtual string Notes {
			get { return notes; }
			set { notes = value; }
		}
		
		public virtual bool Inactive {
			get { return inactive; }
			set { inactive = value; }
		}
		
		public virtual double ReorderPoint {
			get { return reorderPoint; }
			set { reorderPoint = value; }
		}
		double onHand;
		
		public virtual double OnHand {
			get { return onHand; }
			set { onHand = value; }
		}
		double totalValue;
		
		public virtual double TotalValue {
			get { return totalValue; }
			set { totalValue = value; }
		}
		DateTime valueAsOf;
		
		public virtual DateTime ValueAsOf {
			get { return valueAsOf; }
			set { valueAsOf = value; }
		}
		
		public virtual string PurchaseDescription {
			get { return purchaseDescription; }
			set { purchaseDescription = value; }
		}
		double cost;
		
		public virtual double Cost {
			get { return cost; }
			set { cost = value; }
		}
		Account cOGSAccount;
		
		public virtual Account COGSAccount {
			get { return cOGSAccount; }
			set { cOGSAccount = value; }
		}
		Vendor preferredVendor;
		
		public virtual Vendor PreferredVendor {
			get { return preferredVendor; }
			set { preferredVendor = value; }
		}
		string salesDescription;
		
		public virtual string SalesDescription {
			get { return salesDescription; }
			set { salesDescription = value; }
		}
		double salesPrice;
		
		public virtual double SalesPrice {
			get { return salesPrice; }
			set { salesPrice = value; }
		}
		SalesTaxCode taxCode;
		
		public virtual SalesTaxCode TaxCode {
			get { return taxCode; }
			set { taxCode = value; }
		}
		Account incomeAccount;
		
		public virtual Account IncomeAccount {
			get { return incomeAccount; }
			set { incomeAccount = value; }
		}
		Account assetAccount;
		
		public virtual Account AssetAccount {
			get { return assetAccount; }
			set { assetAccount = value; }
		}
		
		public virtual string PartNumber {
			get { return partNumber; }
			set { partNumber = value; }
		}
		UnitOfMeasure unitOfMeasure;
		
		public virtual UnitOfMeasure UnitOfMeasure {
			get { return unitOfMeasure; }
			set { unitOfMeasure = value; }
		}
		
		public virtual int Id {
			get { return id; }
			set { id = value; }
		}
		string name;
		
		public virtual string Name {
			get { return name; }
			set { name = value; }
		}
		
		public Item()
		{
		}
	}
}
